2023/12/232586字符
工具方法
- 实例方法:$.fn.
- 工具方法:$.
判断类型
$.type(); // 里面的数据到底是什么 typeof():里面的数据是什么类型
$.isArray();
$.isFunction();
$.isWindow();
$.trim() 去除前后空格
$.trim(' ab c '); //--> ab c
$.proxy()
function show () { console.log(this) }
var obj = { name: 'bozai' }
var showProxy = $.proxy(show, obj); // 改变this指向
showProxy(); //--> {name: "bozai"}
遍历
var arr = [1, 2, 3, 4];
$.each(arr, function (index, ele) {console.log(ele)}); // forEach 前身
$.map(arr, function (ele, index) {console.log(ele)});
$.parseJSON 将字符串转为json
var json = '{"a" : 123, "b" : 123, "c" : true}'
$.parseJSON(json);
$.makeArray 类数组转数组
var obj = {
0: 'a',
1: 'b',
2: 'c',
length: 3,
};
[].slice.call(obj, 0);
var newObj = $.makeArray(obj);
$.makeArray('d', obj); // 会将第一个参数塞进类数组中,类型由最后一个参数决定
添加工具方法
$.extend({
random: function (min, max) {
return Math.floor(Math.random() * (max - min) + min);
}
});
添加实例方法
$.fn.extend({
drag : function () {
var disX,
disY,
self = this;
$(this).on('mousedown', function (e) {
disX = e.pageX - $(this).offset().left;
disY = e.pageY - $(this).offset().top;
$(document).on('mousemove', function (e) {
$(self).css({left: e.pageX - disX, top: e.pageY - disY});
})
$(document).on('mouseup', function (e) {
$(document).off('mousemove').off('mouseup');
})
});
return this;
}
});
$('.demo').drag();
克隆
var obj1 = {
lastName : 'deng',
age : 6,
girlFriend : {
name : 'xiaozhang'
}
}
var obj2 = {
lastName : 'laodeng',
age : 50,
smoke : true,
girlFriend : {
name : 'xiaowang',
age : 1
}
}
var obj3 = {
lastName : 'liu',
fortune : 100000000
}
// 浅层克隆
$.extend(obj1, obj2, obj3); //--> {lastName: "liu", age: 50, girlFriend: {…}, smoke: true, fortune: 100000000}
// 深层克隆
$.extend(true, obj1, obj2);
obj1.girlFriend.age += 1; //--> 2
$.noConflict()
var $c = $.noConflict(); // 防止冲突,$c 替换原来的 $